package br.com.msystem.biblioteca.vo;
// Generated 01/03/2012 01:28:16 by Hibernate Tools 3.4.0.CR1


import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ReservarMaterialBibliografico generated by hbm2java
 */
@Entity
@Table(name="reservar_material_bibliografico"
    ,catalog="biblioteca"
)
public class ReservarMaterialBibliografico  implements java.io.Serializable {


     /**
	 * 
	 */
	private static final long serialVersionUID = -1643148602186296497L;
	private Integer idReservarMaterialBibliografico;
     private Usuario usuario;
     private MaterialBibliografico materialBibliografico;
     private SolicitarReserva solicitarReserva;
     private Date dataInicioReserva;
     private int periodoReserva;
     private String statusReserva;
     private String observacao;

    public ReservarMaterialBibliografico() {
    }

	
    public ReservarMaterialBibliografico(Usuario usuario, MaterialBibliografico materialBibliografico, Date dataInicioReserva, int periodoReserva) {
        this.usuario = usuario;
        this.materialBibliografico = materialBibliografico;
        this.dataInicioReserva = dataInicioReserva;
        this.periodoReserva = periodoReserva;
    }
    public ReservarMaterialBibliografico(Usuario usuario, MaterialBibliografico materialBibliografico, SolicitarReserva solicitarReserva, Date dataInicioReserva, int periodoReserva, String statusReserva, String observacao) {
       this.usuario = usuario;
       this.materialBibliografico = materialBibliografico;
       this.solicitarReserva = solicitarReserva;
       this.dataInicioReserva = dataInicioReserva;
       this.periodoReserva = periodoReserva;
       this.statusReserva = statusReserva;
       this.observacao = observacao;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="id_reservar_material_bibliografico", unique=true, nullable=false)
    public Integer getIdReservarMaterialBibliografico() {
        return this.idReservarMaterialBibliografico;
    }
    
    public void setIdReservarMaterialBibliografico(Integer idReservarMaterialBibliografico) {
        this.idReservarMaterialBibliografico = idReservarMaterialBibliografico;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_usuario", nullable=false)
    public Usuario getUsuario() {
        return this.usuario;
    }
    
    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_material_bibliografico", nullable=false)
    public MaterialBibliografico getMaterialBibliografico() {
        return this.materialBibliografico;
    }
    
    public void setMaterialBibliografico(MaterialBibliografico materialBibliografico) {
        this.materialBibliografico = materialBibliografico;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_solicitar_reserva")
    public SolicitarReserva getSolicitarReserva() {
        return this.solicitarReserva;
    }
    
    public void setSolicitarReserva(SolicitarReserva solicitarReserva) {
        this.solicitarReserva = solicitarReserva;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="data_inicio_reserva", nullable=false, length=19)
    public Date getDataInicioReserva() {
        return this.dataInicioReserva;
    }
    
    public void setDataInicioReserva(Date dataInicioReserva) {
        this.dataInicioReserva = dataInicioReserva;
    }

    
    @Column(name="periodo_reserva", nullable=false)
    public int getPeriodoReserva() {
        return this.periodoReserva;
    }
    
    public void setPeriodoReserva(int periodoReserva) {
        this.periodoReserva = periodoReserva;
    }

    
    @Column(name="status_reserva", length=45)
    public String getStatusReserva() {
        return this.statusReserva;
    }
    
    public void setStatusReserva(String statusReserva) {
        this.statusReserva = statusReserva;
    }

    
    @Column(name="observacao", length=65535)
    public String getObservacao() {
        return this.observacao;
    }
    
    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }


	public Boolean getStatusReservaBoolean() {
		return this.getStatusReserva().equals("ativo");
	}

	public void setStatusReservaBoolean(Boolean statusReserva2) {
		if (statusReserva2) {
			this.setStatusReserva("ativo");
		} else {
			this.setStatusReserva("inativo");
		}
	}

}


